package top.infopub.mgr.cap.dao;

import com.github.pagehelper.Page;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;
import top.infopub.dto.cap.PayfeeApplyDto;
import top.infopub.generic.GenericDao;
import top.infopub.mgr.cap.domain.PayfeeApplyDomain;
import top.infopub.mgr.cap.vo.PayfeeApplyVo;
import top.infopub.model.cap.GuaranteeName;
import top.infopub.model.cap.PayfeeApply;

import java.util.List;

/** 融资付费申请(CAP_PAYFEE_APPLY) **/
@Repository
public interface PayfeeApplyDao extends GenericDao<PayfeeApply, String> {

    /**
     * 根据条件查询融资-付款申请记录
     * @param payfeeApplyVo
     * @return 
     * @see
     */
    Page<PayfeeApplyDomain> selectByDomainWhere(PayfeeApplyVo payfeeApplyVo);


    /*融资付费详情*/
    PayfeeApplyDto queryDetailById(@Param("id")String id);

    PayfeeApplyDto queryOneByProCode(@Param("proCode") String proCode);

    /*收款单位名称*/
    List<GuaranteeName> queryReceiverNames();
    /*付款单位名称*/
    List<GuaranteeName> queryPayNames();


    
    /**
     * 根据条件查询融资-付款申请记录-我审批的
     * @param payfeeApplyVo
     * @return
     * @see
     */
    Page<PayfeeApplyDomain> selectMyCheckByDomainWhere(PayfeeApplyVo payfeeApplyVo);

    /**
     * 添加付费申请记录
     */
    void insertById(PayfeeApply payfeeApply);

    /**
     * 通过id查询融资-付费记录详情
     */
    PayfeeApplyVo selectById(@Param("id")String id);

    /**
     * 通过id查询融资-付费记录和付款公司详情
     */
    PayfeeApplyVo selectByGuid(@Param("id")String id);



}